<html>
 <head>
  <meta charset="UTF-8">
 </head>
 <body>
  <h1 data-lake-id="O5wJQ" id="O5wJQ"><span data-lake-id="u213f9659" id="u213f9659">典型回答</span></h1>
  <p data-lake-id="uf8b62606" id="uf8b62606"><span data-lake-id="ub54d6205" id="ub54d6205">很多人会在面试的时候，提到频繁FullGC，那有的面试官就会问，你认为多久一次FullGC算是频繁呢？多久一次算是正常呢？</span></p>
  <p data-lake-id="uc479ae65" id="uc479ae65"><span data-lake-id="u5f239fba" id="u5f239fba">​</span><br></p>
  <p data-lake-id="ub2a207d7" id="ub2a207d7"><span data-lake-id="ucb1fe2b8" id="ucb1fe2b8">其实，Full GC的频率取决于多个因素，包括应用程序的性质、堆的大小、内存分配和释放的模式等。正常情况下，Full GC应该是相对较少发生的，因为频繁的Full GC会导致应用程序的性能下降和响应时间延长。</span></p>
  <p data-lake-id="ufb67c63c" id="ufb67c63c"><span data-lake-id="u49473f1f" id="u49473f1f">​</span><br></p>
  <p data-lake-id="u66c53d56" id="u66c53d56"><span data-lake-id="ue0f60d4f" id="ue0f60d4f">如果一定要给一个指标，那么我可以给一个经验值，拿我们这面一个非常核心的应用来说：</span></p>
  <p data-lake-id="u5ffe0474" id="u5ffe0474"><span data-lake-id="uac9184f8" id="uac9184f8">​</span><br></p>
  <p data-lake-id="u328285be" id="u328285be"><span data-lake-id="u40f1c673" id="u40f1c673">这个应用日常的QPS在5000以上，线上一共有100台左右的机器。</span></p>
  <p data-lake-id="uf5ec6b2f" id="uf5ec6b2f"><span data-lake-id="ud5a9797f" id="ud5a9797f">​</span><br></p>
  <p data-lake-id="u65181059" id="u65181059"><span data-lake-id="u39ece18d" id="u39ece18d">整个集群，也就是100多台机器总体的数据是：</span></p>
  <p data-lake-id="uadd8410a" id="uadd8410a"><span data-lake-id="u05653e59" id="u05653e59">​</span><br></p>
  <p data-lake-id="ue3b33059" id="ue3b33059"><span data-lake-id="u6ee88734" id="u6ee88734">平常情况，FullGC次数，一周不超过一次。</span></p>
  <p data-lake-id="uca02b2b2" id="uca02b2b2"><span data-lake-id="u990c0a8c" id="u990c0a8c">业务高峰期，FullGC次数，2小时一次。</span></p>
  <p data-lake-id="ue252160e" id="ue252160e"><span data-lake-id="uce67a3fb" id="uce67a3fb">FullGC耗时，400-700ms，不超过1秒钟。</span></p>
  <p data-lake-id="u8060b6ab" id="u8060b6ab"><span data-lake-id="u4e8aa9de" id="u4e8aa9de">YoungGC次数，100+/分钟，YoungGC耗时，20ms左右</span></p>
  <p data-lake-id="uf9857450" id="uf9857450"><span data-lake-id="ue00d8cea" id="ue00d8cea">堆内存利用率维持在50%以下。</span></p>
  <p data-lake-id="u817b84c9" id="u817b84c9"><span data-lake-id="u9ceb4374" id="u9ceb4374">​</span><br></p>
  <p data-lake-id="u41746010" id="u41746010"><span data-lake-id="u79107d7c" id="u79107d7c">​</span><br></p>
  <p data-lake-id="ua8df5dfb" id="ua8df5dfb"><span data-lake-id="u3f4672c8" id="u3f4672c8">以上，供大家参考，一般来说，日常情况，FullGC不应该超过一天一次的这个频率。</span></p>
  <p data-lake-id="u8ec2e9ac" id="u8ec2e9ac"><span data-lake-id="ue39cfe5d" id="ue39cfe5d">​</span><br></p>
 </body>
</html>